Default install paths are assumed in all projects and scripts, be prepared to adjust many things if you changed them

Needs Visual Studio 2017 and vsyasm (yasm for use with VS2010)
Visual Studio 2015 Update 3 is also (unfortunately) required to compile the python module
The proper paths to put things in are:
<some random exe path>
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations
It also needs both 32 and 64 bit Python 3.6 series with recent cython, sphinx and sphinx-intl installed
Inno setup is needed to create the installer
7-zip is needed to compress the portable version

Clone VapourSynth
Clone zimg v2.5 branch into the VapourSynth dir (https://github.com/sekrit-twc/zimg)
Clone avs+ mt branch into the VapourSynth dir (https://github.com/AviSynth/AviSynthPlus)
FIX LLVM STUFF IN THE ZIMG PROJECT
Compile 32 and 64 bit release using the VapourSynth solution
Run cython_build.bat to compile the Python modules

In order to build the installer you need to download
and place isxdl.dll in "installer\scripts\isxdl".
It can be downloaded from:
http://www.codeproject.com/Articles/20868/NET-Framework-Installer-for-InnoSetup

There are also a few plugins that aren't included
which are easier to simply retrieve from an existing
VapourSynth installation.

Note that the Avisynth side of AVFS won't work properly in debug builds (memory allocation and exceptions across module boundaries trolololol)
Likewise AviSource can only be compiled as a release build (or debug versions of functions that aren't present are referenced)